package eteam.aps.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import eteam.aps.model.entity.ProtectionOrgDtl;
import eteam.aps.model.vo.ProtectionOrgDtlVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 保障机构子表持久层
 *
 * @author WMT
 */
@Mapper
public interface ProtectionOrgDtlMapper extends BaseMapper<ProtectionOrgDtl> {

    /**
     * 添加保障机构子表
     * @param orgDtls 子表列表
     * @return 受影响的行数
     */
    int insert(List<ProtectionOrgDtl> orgDtls);

    /**
     * 逻辑删除保障机构子表
     * @param protectionOrgDtl 保障机构子表
     * @return 受影响的行数
     */
    int deleteOne(ProtectionOrgDtl protectionOrgDtl);

    /**
     * 根据fDtlId物理删除保障机构子表
     * @param protectionOrgDtl 保障机构子表
     * @return 受影响的行数
     */
    int deleteByFDtlId(String fDtlId);

    /**
     * 根据fId物理删除保障机构子表
     * @param protectionOrgDtl 保障机构子表
     * @return 受影响的行数
     */
    int deleteByFId(String fId);

    /**
     * 修改保障机构子表
     * @param protectionOrgDtl 保障机构子表修改数据
     * @return 受影响的行数
     */
    int updateOne(ProtectionOrgDtl protectionOrgDtl);

    /**
     * 根据fDtlId查询保障机构子表
     * @param map fDtlId、查询条件
     * @return 保障机构子表列表
     */
    List<ProtectionOrgDtl> selectAllByFDtlId(Map<String,Object> map);

    /**
     * 根据主表fId统计保障机构子表编号数量
     * @param map 主表fId、查询条件
     * @return 保障机构子表编号数量
     */
    int countCodeByFDtlId(Map<String,Object> map);

    /**
     * 根据fDtlId查询保障机构子表列表
     * @param map fDtlId,查询条件
     * @return 保障机构子表列表
     */
    List<ProtectionOrgDtlVo> selectAll(Map<String,Object> map);
}
